#ifndef _Pointer_H_
#define _Pointer_H_

#include "wiisprite.h"

#include <vector>

using namespace wsp;

class Pointer {
	public:
		Pointer();
		~Pointer();
		
		void SetImage(Image* i){_ptrSprite.SetImage(i);}
		void DefaultImage(){_ptrSprite.SetImage(_images[0]);}
		
		void SetPosition(float x, float y);
		void SetRotation(float a);
		
		Sprite* GetCenter(){return &_center;}
		Sprite* GetSprite(){return &_ptrSprite;}
	
		void SetPortalASet(bool b){_portalASet = b;}
		void SetPortalBSet(bool b){_portalBSet = b;}
		
		void Render();
		void Reset();
		
		float GetX(){return _ptrSprite.GetX();}
		float GetY(){return _ptrSprite.GetY();}
		float GetWidth(){return _ptrSprite.GetWidth();}
		float GetHeight(){return _ptrSprite.GetHeight();}
		
		float GetCenterX(){return _center.GetX();}
		float GetCenterY(){return _center.GetY();}
		
		Image* GetCenterImage(){return (Image*)_center.GetImage();}
		Image* GetImage(){return (Image*)_ptrSprite.GetImage();}
		
	private:
		Sprite _center;
		Sprite _ptrSprite;
		
		bool _portalASet;
		bool _portalBSet;
		
		std::vector<Image*> _images;
};

#endif //_Pointer_H_

